using System;
using System.Collections.Generic;
using System.Text;

namespace ObjectModel
{
    [Serializable]
    public class Order : ItemBase
    {
        #region fields
        DateTime? _orderDate;
        DateTime? _requiredDate;
        DateTime? _shippedDate;
        int? _shipVia;
        decimal? _freight;
        string _shipName;
        string _shipAddress;
        string _shipCity;
        string _shipRegion;
        string _shipPostalCode;
        string _shipCountry;
        string _customerId;
        Employee _employee;
        #endregion

        #region ctor
        protected internal Order() : base() { }
        #endregion

        #region properties
        public virtual Employee Employee
        {
            get { return _employee; }
            set { _employee = value; }
        }
        public virtual string CustomerId
        {
            get { return _customerId; }
            set { _customerId = value; }
        }
        public virtual DateTime? OrderDate
        {
            get { return _orderDate; }
            set { _orderDate = value; }
        }
        public virtual DateTime? RequiredDate
        {
            get { return _requiredDate; }
            set { _requiredDate = value; }
        }
        public virtual DateTime? ShippedDate
        {
            get { return _shippedDate; }
            set { _shippedDate = value; }
        }
        public virtual int? ShipVia
        {
            get { return _shipVia; }
            set { _shipVia = value; }
        }
        public virtual decimal? Freight
        {
            get { return _freight; }
            set { _freight = value; }
        }
        public virtual string ShipName
        {
            get { return _shipName; }
            set { _shipName = value; }
        }
        public virtual string ShipAddress
        {
            get { return _shipAddress; }
            set { _shipAddress = value; }
        }
        public virtual string ShipCity
        {
            get { return _shipCity; }
            set { _shipCity = value; }
        }
        public virtual string ShipRegion
        {
            get { return _shipRegion; }
            set { _shipRegion = value; }
        }
        public virtual string ShipPostalCode
        {
            get { return _shipPostalCode; }
            set { _shipPostalCode = value; }
        }
        public virtual string ShipCountry
        {
            get { return _shipCountry; }
            set { _shipCountry = value; }
        }
        #endregion
    }
}
